package com.zb.file.service;

import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @Author WEN
 * @Date 2023/8/11 0011
 **/
public interface FileService {


    /**
     * Logo上传
     * @param custAccLogoCode Logo存储编码
     * @param file
     * @return
     */
    String logoUpload(String uploadPath, String annexVisitPath, String custAccLogoCode, MultipartFile file);

    /**
     * 工单附件上传
     * @param custAccAnnexCode 附件存储编码
     * @param files
     * @return
     */
    List<String> orderAnnexUpload(String uploadPath, String annexVisitPath, String custAccAnnexCode, List<MultipartFile> files);

    /**
     * 商品附件上传
     * @param custAccAnnexCode 附件存储编码
     * @param files
     * @return
     */
    List<String> goodsAnnexUpload(String uploadPath, String annexVisitPath, String custAccAnnexCode, List<MultipartFile> files);

    /**
     * 用户附件上传
     *
     * @param custAccAnnexCode 附件存储编码
     * @param files
     * @return
     */
    List<String> userAnnexUpload(String uploadPath, String annexVisitPath, String custAccAnnexCode, List<MultipartFile> files);

    /**
     * 知识中心附件上传
     * @param custAccAnnexCode 附件存储码
     * @param files
     * @return
     */
    List<String> knowledgeAnnexUpload(String uploadPath, String annexVisitPath, String custAccAnnexCode, List<MultipartFile> files);

    /**
     * 知识中心视频上传
     * @param custAccVideoCode 商家视频编码
     * @param files
     * @return
     */
    List<String> knowledgeUpload(String videoUploadPath, String videoVisitPath, String custAccVideoCode, List<MultipartFile> files);

    /**
     * 头像上传接口
     * @param custAccAnnexCode
     * @param file
     * @return
     */
    String avatarUpload(String uploadPath, String annexVisitPath, String custAccAnnexCode, MultipartFile file);

    /**
     * 编码附件上传接口
     *
     * @param custAccAnnexCode
     * @param files
     * @return
     */
    List<String> codeUpload(String uploadPath, String annexVisitPath, String custAccAnnexCode, List<MultipartFile> files);

    /**
     * 工单视频上传
     * @param custAccVideoCode
     * @param files
     * @return
     */
    List<String> orderVideoUpload(String videoUploadPath, String videoVisitPath, String custAccVideoCode, List<MultipartFile> files);

    /**
     * 系统附件上传
     * @param custAccAnnexCode
     * @param files
     * @return
     */
    List<String> sysUpload(String uploadPath, String annexVisitPath, String custAccAnnexCode, List<MultipartFile> files);
}
